home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / p / portfoli / small_c / shell.sci < prev    next >
Encoding:
Text File  |  1996-10-30  |  2.2 KB  |  85 lines

  1. #
  2. # Small c Interpreter command shell
  3. #
  4. char _nr, _nc, _ro, _co, *_cp, *_el, _mhz;
  5.  
  6. putchar(c){return sys(c,2,1)}
  7. getchar(){return sys(1,2)}
  8. puts(b){return sys(b,2,3)}
  9. putd(n){return printf("%d\n",n)}
  10. putx(n){return printf("%x\n",n)}
  11. puto(n){return printf("%o\n",n)}
  12. gets(b){return sys(b,80,1,4)}
  13. fputc(c,u){return sys(c,u,1)}
  14. fgetc(u){return sys(u,2)}
  15. fputs(b,u){return sys(b,u,3)}
  16. fgets(b,n,u){return sys(b,n,u,4)}
  17. sprintf(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){sys(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,5)}
  18. printf(a0,a1,a2,a3,a4,a5,a6,a7,a8)
  19. {char b[128];sys(b,a0,a1,a2,a3,a4,a5,a6,a7,a8,5);puts(b)}
  20. sscanf(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){sys(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,6)}
  21. scanf(a0,a1,a2,a3,a4,a5,a6,a7,a8)
  22. {char b[128];gets(b);sys(b,a0,a1,a2,a3,a4,a5,a6,a7,a8,6)}
  23. atoi(b){int v;sys(b,"%d",&v,6);return v}
  24. fopen(f,m){return sys(f,m,7)}
  25. fread(s,l,u){return sys(s,l,u,8)}
  26. fwrite(s,l,u){return sys(s,l,u,9)}
  27. fclose(u){return sys(u,10)}
  28. fseek(u,o,w){return sys(u,o,w,11)}
  29. ftell(u){return sys(u,12)}
  30. bdos(a,b){return sys(a,b,13)}
  31. system(s){return sys(s,14)}
  32. exit(){sys(15)}
  33. strcmp(s,t){return sys(s,t,20)}
  34. strncmp(s,t,n){return sys(s,t,n,20)}
  35. strcpy(s,t){return sys(s,t,21)}
  36. strncpy(s,t,n){return sys(s,t,n,21)}
  37. strlen(s){return sys(s,22)}
  38. malloc(n){return sys(n,23)}
  39. free(p){sys(p,24)}
  40. trace(n){sys(n,28)}
  41. dirscan(p,f){return sys(p,f,29)}
  42.  
  43. entry
  44.  
  45. char ln[80];
  46. char pr[20000];
  47.  
  48. main()
  49. {
  50.    int f, t;
  51.  
  52.    puts(sys(0));
  53.    puts("\nShell V1.3 15Mar86 Copyright (C) 1986 Bob Brodt\n");
  54.    _nr=25; _nc=80;
  55.    _ro=_co=1;
  56.    _cp="\033[%d;%dH";
  57.    _el="\033[K";
  58.    _mhz=5; 
  59.    *pr='Z';
  60.  
  61.    for(;;) {
  62.       puts("> ");
  63.       ln[5]=0;
  64.       if(gets(ln)) {
  65.          if (!strncmp(ln,"edit",4))
  66.             sys(atoi(ln+4),pr,19);
  67.          else if (!strncmp(ln,"list",4)) {
  68.             f=1;
  69.             t=32765;
  70.             if(ln[4])
  71.                sscanf(ln+4,"%d %d",&f,&t);
  72.             sys(pr,f,t,27);
  73.          }
  74.          else if (!strncmp(ln,"save",4))
  75.             sys(ln+5,pr,26);
  76.          else if (!strncmp(ln,"load",4))
  77.             sys(ln+5,pr,25);
  78.          else if (!strcmp(ln,"exit"))
  79.             exit();
  80.          else
  81.             printf("\n%d\n",sys(ln,pr,16));
  82.       }
  83.    }
  84. }
  85.